/**
 * @defgroup TestEnum 关于Java枚举的例子
 * @author 李焕帅
 * @version 0.1
 * @date 02/08/2012
 * @{
 */
/**
 * @name 包定义
 * @{
 */
package indd.lihs.basic.javabasictester;

import java.util.*;
/** @}*/
// 包定义

/**
 * @name 枚举类定义
 * @{
 */
/**
 * @belief 一个基本的枚举类
 * @note 本质而言, 枚举是一个特殊的类;但不能用new生成枚举对象
 * @deprecate 不兼容JavaSE5.0之前的版本
 */
enum Season
{
    春季, 夏季, 秋季, 冬季;
}
/** @}*/
// 枚举类定义

/**
 * @name 测试类定义
 * @{
 */
/**
 * @belief 测试Java枚举的类
 */
public class TestEnum
{
    /**
     * 主函数
     * @param[in] args 参数字符串数组
     * @return void
     */
    public static void main(String[] args)
    {
        // 将依枚举顺序生成一个全部枚举值得数组
        Season[] seasons = Season.values();
        System.out.println("seasons = " + Arrays.toString(seasons));
        for (Season s : seasons)
        {
            switch (s)
            {
            case 春季 : // 不能限制符号
                System.out.println( // 显示调用toString
                s.ordinal() + ": " + s.toString() + "是温柔的.");
                break;
            case 夏季 :
                System.out.println( // 自动调用
                s.ordinal() + ": " + s + "是热烈的.");
                break;
            case 秋季 :
                System.out.println(s.ordinal() + ": " + s + "是睿智的.");
                break;
            case 冬季 :
                System.out.println(s.ordinal() + ": " + s + "是深刻的.");
                break;
            }
        }
    }
}
/** @}*/
// 测试类定义

/** @}*/
// 模块定义
